package com.anti.modular.bus.houselease.result.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 房间租约
 *
 * @author anti
 * @date 2021-05-06 09:30:21
 */
@Data
public class LeaseExcel{

    /**
     * 主键id
     */
    private Long id;

    /**
     * 在租房间id
     */
    private Long roomId;
    /**
     * 在租房间名称
     */
    @Excel(name = "房產名稱",needMerge = true, width = 30)
    private String stateName;
    /**
     * 在租房间名称
     */
    @Excel(name = "房間號",needMerge = true, width = 30)
    private String roomNamet;

    /**
     * 承租人姓名
     */
    @Excel(name = "承租人",needMerge = true, width = 30)
    private String name;

    /**
     * 聯係方式
     */
    @Excel(name = "聯係方式",needMerge = true, width = 30)
    private String phone;

    /**
     * 身份证号
     */
    @Excel(name = "身份證號",needMerge = true, width = 30)
    private String idCard;

    @ExcelCollection(name = "同住人")
    private List<LeaseLiveExcel> leaseLiveExcels=new ArrayList<>();
    /**
     * 租期开始时间
     */
    @Excel(name = "起租日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 30)
    private Date rentStartDate;

    /**
     * 租期结束时间
     */
    @Excel(name = "到租日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 30)
    private Date rentEndDate;

    /**
     * 收租周期
     */
    @Excel(name = "收租周期",needMerge = true, width = 30)
    private String receiptCycle;

    /**
     * 每月租金
     */
    @Excel(name = "每期租金",needMerge = true, width = 30)
    private BigDecimal rent;

    /**
     * 每月押金
     */
    @Excel(name = "押金",needMerge = true, width = 30)
    private BigDecimal deposit;

    /**
     * 备注
     */
    @Excel(name = "備注",needMerge = true, width = 30)
    private String remark;

    /**
     * 租约状态 1 生效 2已退租 3结算状态
     */
    @Excel(name = "租約狀態",needMerge = true, width = 30,replace = {"正常_1","已退租_2","结算状态_2"})
    private String leaseStatus;

    @ExcelCollection(name = "租金调整")
    private List<RentAdjustmentExcel> rentAdjustmentExcels=new ArrayList<>();

    @ExcelCollection(name = "其他押金")
    private List<LeaseDepositExcel> leaseDepositExcels=new ArrayList<>();

    @ExcelCollection(name = "水電物業")
    private List<LeaseExpensesExcel> leaseExpensesExcels=new ArrayList<>();

    @ExcelCollection(name = "家私配置")
    private List<LeaseFurnitureExcel> leaseFurnitureExcels=new ArrayList<>();

}
